interface IPieItem {
    name: string,
    value: number
}

export interface IState {
    prettyOccupyData: {
        occupyArr: Array<number>,
        percentageArr: Array<number>,
        titleNameArr: Array<string | number>
    },
    memberInductionData: {
        month: Array<string>,
        count: Array<number>
    },
    salaryRangeData: {
        label: Array<string>,
        realData: Array<IPieItem>
    },
    prettyCountData: {
        label: Array<string>,
        realData: Array<IPieItem>
    },
    memberInfoData: {
        avg_salary: number
        total_member: number
    }
}

interface IMemberInductionParam {
    year: number
}

export interface IActions {
    requestPrettyOccupyAction: () => void,
    requestMemberInductionAction: (params: IMemberInductionParam) => void
    requestSalaryRangeCountAction: () => void
    requestPrettyCountAction: () => void
    requestMemberInfoAction: () => void
    requestPrettyAvgAction?: () => void
}

export enum VISUAL_URL_TYPE {
    VISUAL_PRETTY_OCCUPY = "visual/pretty-occupy",
    VISUAL_MEMBER_INDUCTION = "visual/member-induction",
    VISUAL_SALARY_RANGE = "visual/member-salary",
    VISUAL_PRETTY_COUNT = "visual/pretty-count",
    VISUAL_MEMBER_INFO = "visual/member-info",
    VISUAL_PRETTY_AVG = "visual/pretty-avg",
}
